package com.caocaog.market.dms.service;

import com.caocaog.market.dms.dto.BindUserDto;
import com.caocaog.market.dms.dto.QueryOrderDto;
import com.caocaog.market.dms.vo.QueryOrderVo;
import org.jeecg.common.api.vo.Result;

import java.math.BigDecimal;

public interface DmsService {

    /**
     * 向曹操跑腿自动发单
     * @param payNo
     * @return
     */
    Result sendOrderToDMS(String payNo);

    /**
     * 向曹操跑腿手动发单
     * 向曹操跑腿甩单并将甩单结果插入曹操来了商城数据库中的mk_order_contrast_ccpt表
     */
    Result opSendOrderToDMS(String payNo);

    /**
     * 绑定曹操跑腿账号
     * @param bindUserDto
     * @return
     */
    Result<Boolean> bindUser(BindUserDto bindUserDto);

    /**
     * 解除绑定
     * @param bindUserDto
     * @return
     */
    Result<Boolean> unBindUser(BindUserDto bindUserDto);

    /**
     * 订单计价
     * @param payNo
     * @return
     */
    Result orderValuation(String payNo);

    /**
     * 获取余额
     * @param shopId
     * @return
     */
    Result<BigDecimal> getBalance(String shopId);

    /**
     * 订单状态查询
     * @param queryOrderDto
     * @return
     */
    Result<QueryOrderVo> orderQuery(QueryOrderDto queryOrderDto);

    /**
     * 订单取消
     * @param queryOrderDto
     * @return
     */
    Result<Boolean> orderCancel(QueryOrderDto queryOrderDto);
}
